package com.enjoyor.soa.traffic.api.dto.mtps;

import java.io.Serializable;
import java.util.Date;

public class AppMessageInfoDto implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -107303545659813526L;

	private String id;

	private String relevantId;

	private String theme;

	private String type;

	private String title;

	private String content;

	private Date time;

	private String fromUserId;

	private String fromUserName;

	private Object extras;

	public AppMessageInfoDto(AppMessageInfoDto appMessageInfoDto) {
		this.id = appMessageInfoDto.getId();
		this.relevantId = appMessageInfoDto.getRelevantId();
		this.theme = appMessageInfoDto.getTheme();
		this.type = appMessageInfoDto.getType();
		this.title = appMessageInfoDto.getTitle();
		this.content = appMessageInfoDto.getContent();
		this.time = appMessageInfoDto.getTime();
		this.fromUserId = appMessageInfoDto.getFromUserId();
		this.fromUserName = appMessageInfoDto.getFromUserName();
		this.extras = appMessageInfoDto.getExtras();
	}

	public AppMessageInfoDto() {
	}

	public static class Builder {
		AppMessageInfoDto appMessageInfoDto;

		public Builder() {
			appMessageInfoDto = new AppMessageInfoDto();
		}

		public Builder id(String id) {
			appMessageInfoDto.setId(id);
			return this;
		}

		public Builder relevantId(String relevantId) {
			appMessageInfoDto.setRelevantId(relevantId);
			return this;
		}

		public Builder theme(String theme) {
			appMessageInfoDto.setTheme(theme);
			return this;
		}

		public Builder type(String type) {
			appMessageInfoDto.setType(type);
			return this;
		}

		public Builder title(String title) {
			appMessageInfoDto.setTitle(title);
			return this;
		}

		public Builder content(String content) {
			appMessageInfoDto.setContent(content);
			return this;
		}

		public Builder time(Date time) {
			appMessageInfoDto.setTime(time);
			return this;
		}

		public Builder fromUserId(String fromUserId) {
			appMessageInfoDto.setFromUserId(fromUserId);
			return this;
		}

		public Builder fromUserName(String fromUserName) {
			appMessageInfoDto.setFromUserName(fromUserName);
			return this;
		}

		public Builder extras(Object extras) {
			appMessageInfoDto.setExtras(extras);
			return this;
		}

		public AppMessageInfoDto build() {
			return new AppMessageInfoDto(this.appMessageInfoDto);
		}
	}

	public void setExtras(Object extras) {
		this.extras = extras;
	}

	public Object getExtras() {
		return this.extras;
	}

	public void setFromUserName(String fromUserName) {
		this.fromUserName = fromUserName;
	}

	public String getFromUserName() {
		return this.fromUserName;
	}

	public void setFromUserId(String fromUserId) {
		this.fromUserId = fromUserId;
	}

	public String getFromUserId() {
		return this.fromUserId;
	}

	public void setTime(Date time) {
		this.time = time;
	}

	public Date getTime() {
		return this.time;
	}

	public void setContent(String content) {
		this.content = content;
	}

	public String getContent() {
		return this.content;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getTitle() {
		return this.title;
	}

	public void setType(String type) {
		this.type = type;
	}

	public String getType() {
		return this.type;
	}

	public void setTheme(String theme) {
		this.theme = theme;
	}

	public String getTheme() {
		return this.theme;
	}

	public void setRelevantId(String relevantId) {
		this.relevantId = relevantId;
	}

	public String getRelevantId() {
		return this.relevantId;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getId() {
		return this.id;
	}

}
